Principal Índice Ejercicios resueltos Ejemplos sintetizables Enlaces de interés Sobre los autores


Capítulo 6 - ASPECTOS AVANZADOS DEL LENGUAJE

6.1. Subprogramas
6.1.1. Funciones
6.1.2. Procedimientos
6.2. Lógica multivaluada
6.3. Señales
6.3.1. Modelos de retardos
6.3.2. Concepto de driver
6.3.3. Señales guarded: bus y regsiter
6.4. Variables compartidas
6.5. Alias
6.6. Atributos
6.6.1. Atributos predefinidos
6.6.2. Atributos definidos por el usuario
6.7. Sobrecarga de funciones y operadores
6.8. Firmas
6.9. Funciones de resolución
6.10. Sentencia generate
6.11. Conversión de tipos. Conversiones explícita e implícita
6.12. Interpretación de literales
6.13. Procesos pospuestos
6.14. Cuestiones y ejercicios

En el presente capítulo se explican algunos conceptos, elementos y sentencias adicionales del lenguaje no expuestos con anterioridad, así como se profundiza en otros ya conocidos.

6.1 SUBPROGRAMAS

VHDL permite emplear dos tipos de subprogramas, que ayudan a mejorar la descripción, estructuración y legibilidad de los modelos y, por tanto, a la posible reutilización del código. Estos subprogramas son las funciones y los procedimientos. Son muy similares a los que se definen en los lenguajes de programación de alto nivel (HLL) de propósito general. El objetivo principal de las funciones es realizar un cálculo puntual y devolver el resultado sin que avance el tiempo. Los procedimientos suelen estar más ligados a la naturaleza de lenguaje de descripción hardware de VHDL y pueden constituir pequeñas descripciones encargadas de realizar prácticamente cualquier tarea, aunque también se utilizan con profusión en los bancos de prueba (test benches, ver capítulo 8) para el acceso a ficheros externos.

La estructura de ambos tipos de subprogramas es formalmente idéntica. Sólo existen variaciones en cuanto a las capacidades de cada tipo.